Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce GMD + ATD #479

Merged
merged 14 commits into from
Jan 10, 2023
Merged

Introduce GMD + ATD #479

merged 14 commits into from
Jan 10, 2023

Conversation

thagikura
Copy link
Contributor

  • Introduce Gradle Managed Device definition in a single module (core-database at the moment) using Automated Test Device

@dturner
Copy link
Collaborator

dturner commented Dec 12, 2022

GMD setup is failing with:

Execution failed for task ':core:database:pixel4api30Setup'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.ManagedDeviceSetupTask$ManagedDeviceSetupRunnable
   > java.lang.IllegalStateException: Snapshot setup ran successfully, but the snapshot failed to be created. This is
     likely to a lack of disk space for the snapshot. Try the cleanManagedDevices
     task with the --unused-only flag to remove any unused devices for this project.

https://github.com/android/nowinandroid/actions/runs/3673045398/jobs/6212504226

@thagikura
Copy link
Contributor Author

I ran it 10 times and failed it due to the lack of disk space 2 times.
https://github.com/android/nowinandroid/actions/runs/3673045398

I'll see if it can be stabilized.

@thagikura
Copy link
Contributor Author

After this commit 392408c as advised in https://issuetracker.google.com/issues/216744701,

2 attempts still failed out of 10 attempts.

Now I enabled more logging in this set of Actions.
https://github.com/android/nowinandroid/actions/runs/3683976750

If we still see failed jobs, I'm considering filing a bug against GMD.

@thagikura thagikura mentioned this pull request Dec 14, 2022
@thagikura
Copy link
Contributor Author

The last 10 attempts succeeded as in https://github.com/android/nowinandroid/actions/runs/3683976750

Do you think it's acceptable @dturner ?
In case if it fails in the future, I also enabled the detailed logging to pass it to the product team.

Also this PR only enables GMD in the core-database module, the rest of the modules need to be addressed, too.

- Introduce Gradle Managed Device definition in a single module
  (core-database at the moment) using Automated Test Device
task

Change-Id: Ibec569886c3bc8f94f402a62c7dc4205b628eec6
Change-Id: I491e4eb82a1b64842902023dd20993e89ee3ef0c
@dturner dturner self-requested a review December 21, 2022 17:28
Copy link
Collaborator

@dturner dturner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's try using GMD everywhere so we can compare it with ReactiveCircus for the whole codebase.

@thagikura
Copy link
Contributor Author

Let's try using GMD everywhere so we can compare it with ReactiveCircus for the whole codebase.

Agreed. Let's see the flakiness to compare with ReactiveCircus.

Add GMD to other modules that have instrumented tests

Change-Id: I9355b3792bf9cec98a7a4dbe66ea9c1332a29a79
Change-Id: Ie1594611482ec51e409a28c51c43e88457aa44bb
Change-Id: I253ada072534d96e7e56d7e6d054d762781dddd9
Change-Id: Ia27cc69ceeea0681452f4e30a927fd39416c4b26
Change-Id: Iae88930e2e04131b50da1ff867bbe44e428c464a
Change-Id: I33ee689d01717fec1761415b39d1a373f4a1a8e1
Change-Id: I1e6d618c2e1e347cc9ff0e483264f267bd95981e
Change-Id: Ie57be3a6206bb6959b8d2318a49b33eed6f0f79c
Change-Id: Ie082ff1f899b70452e494d65bde07d65fff661e7
@thagikura
Copy link
Contributor Author

Agreed. Let's see the flakiness to compare with ReactiveCircus.

Added GMD to modules that have instrumented tests. Can you have a look again?

@thagikura thagikura requested a review from alexvanyo December 22, 2022 10:54
Copy link
Contributor

@alexvanyo alexvanyo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woo! 🎉

Screen Shot 2023-01-04 at 2 29 53 PM

Looks good to me, just two nits in the workflow and it's unfortunate we can't make a convention plugin at the moment. Ideally we could apply that plugin everywhere, so we can't make a mistake of leaving out any new tests by not adding the managed devices configuration.

.github/workflows/AndroidCIWithGmd.yaml Outdated Show resolved Hide resolved
.github/workflows/AndroidCIWithGmd.yaml Outdated Show resolved Hide resolved
core/database/build.gradle.kts Show resolved Hide resolved
Remove setup android SDK for experiment

Change-Id: I55fc1826ffeb9254ca53e7227555ec4879f38079
@thagikura
Copy link
Contributor Author

Thanks Alex. Addressed your feedback.
Filed #523 as a reminder to convert GMD definitions as a convention plugin.
@dturner is it possible to have a look again and resolve the change request if it looks good?

Thanks!

app/build.gradle.kts Outdated Show resolved Hide resolved
Change-Id: I0866369e3d0bbe148ca5ec1f92bad59239a347b8
@thagikura
Copy link
Contributor Author

Friendly reminder to @dturner please resolve the change request if the PR looks good. Thanks!

Copy link
Collaborator

@dturner dturner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Many thanks for doing this.

@thagikura thagikura merged commit 4633609 into main Jan 10, 2023
@dturner dturner deleted the introduce_gmd branch February 21, 2023 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants